A data transfer over the Internet typically involves the use of TCP. TCP allows a packet-wise transfer of data from a source entity to a destination entity in a reliable and ordered fashion. The source entity and the destination entity are at least partially identified by means of their respective IP addresses. IP is an acronym for Internet Protocol.
Originally, TCP allowed for a data transfer from a single IP address only to another single IP address only. This implied that a data transfer connection according to TCP could comprise a single path only. In a data transfer, the source entity could send data via a single physical communication link only. Likewise, the destination entity could receive the data via a single physical communication link only. This constitutes a restriction in case at least one of these entities is connected to a communication network, such as the Internet, via various different physical communication links. In that case, multiple paths are available for transferring data.
An extension of TCP enables data transfer from a source entity to a destination entity via multiple paths in parallel. This multipath extension is commonly referred to as multipath TCP, commonly designated by the acronym MPTCP, and defined in document RFC6824, which is incorporated by reference herein. In effect, MPTCP can split up a data transfer flow into two parallel data transfer sub-flows. Each of these two sub-flows can be transported in a fashion according to the TCP protocol as if it were a complete data transfer. One sub-flow can be routed over a communication path; the other sub-flow can be routed over another communication path. This path diversity can be achieved by specifying different IP addresses as the source entity, or the destination entity, or both, in the one and the other sub-flow.
However, such a multipath data transfer requires that both the source entity and the destination entity can handle MPTCP. That is, the source entity and the destination entity should both be MPTCP capable. In case only one of the aforementioned entities is MPTCP capable, whereas the other is not, the data transfer takes place via a single path only, in a conventional fashion according to the TCP protocol. That is, each of the two entities involved in the data transfer can use only a single physical communication link to receive data, or to send data, or both. There will be no multipath benefits such as, for example, increased resilience and increased throughput through parallel use of various different physical communication links.
Patent publication WO 2012/049631 describes an edge router that is coupled to a subscriber end station that has not been updated to MPTCP. The edge router enables communications with the subscriber end station to fully utilize MPTCP. This is done by running an MPTCP proxy on the edge router that is coupled to the subscriber end station. As a result, the subscriber end station is unaware of any MPTCP utilization and runs TCP as normal. The edge router performs the necessary conversions between TCP and MPTCP so that packets sent from the subscriber end station over a TCP connection are demultiplexed to a MPTCP connection. Likewise, packets sent to the subscriber end station over an MPTCP connection are multiplexed by the edge router to a TCP connection.
Patent publication EP 2 538 637 describes a method of providing multipath proxy services. A proxy server receives a TCP/IP connection request from a client device, which specifies that the client device is capable of establishing a multipath TCP/IP connection. In response, a single path TCP/IP connection is established from the proxy server to a serving node, while a multipath TCP/IP connection is established between the proxy server and the client device. The proxy server proxies communications between the client device and the serving node over these respective connections.